_i_n_i_t_g_r_o_u_p_s returns 0 if successful. If the calling routine doesn't have
superuser privileges, it returns -1 and an error code is stored in global
integer _e_r_r_n_o. If the specified user is a member of too many groups, the
process is initialized with the maximum-allowed groups: the remaining
groups are silently discarded by the system. A special situation occurs
when _i_n_i_t_g_r_o_u_p_s is called on systems with multiple groups disabled (i.e.,
_n_g_r_o_u_p_s__m_a_x in <////vvvvaaaarrrr////ssssyyyyssssggggeeeennnn////mmmmaaaasssstttteeeerrrr....dddd////kkkkeeeerrrrnnnneeeellll> set to 0): in this case
_i_n_i_t_g_r_o_u_p_s returns -1 and _e_r_r_n_o is set to EEEEIIIINNNNVVVVAAAALLLL.
EEEERRRRRRRROOOORRRRSSSS
The _i_n_i_t_g_r_o_u_p_s call will fail if:
[EPERM] The caller is not the super-user.
[EINVAL] The multiple-group facility is disabled on the system.